package com.yyh.weknow.Jan2017;

/**
 * Created by lenovo on 2017/1/18.
 * 问题：Sub子类中的两个方法正确吗？
 * 解析：Sub中的两个方法都有 @Override注释，本意是想重写父类的方法。
 * method2方法的参数类型不对，不能重写父类的方法，所以报错。如果 method2没有使用 @Override注释，编译是可以通过的，
 * 但此时子类中的 method2和父类中的 method2就不是重写的关系。
 */
public class Ques0118 {

    class Parent {
        public Parent method1() {
            return new Parent();
        }

        public void method2(Parent parent) {

        }
    }

    class Sub extends Parent {
        @Override
        public Sub method1() {
            return new Sub();
        }

        @Override
        public void method2(Parent parent) {

        }

        /** 原先的重载
          @Override
          public void method2(Sub sub) {

          }
         */

    }

}
